package com.sjzxywlkj.cplife.alipay.request.entity;

/**
 * 批量上传待缴物业费账单请求参数
 * （账单应收条目明细集合，同一小区内条目明细不允许重复；一次接口请求最多支持1000条明细。）
 * url:https://docs.open.alipay.com/api_20/alipay.eco.cplife.bill.batch.upload
 */
public class Bill_set {

    /**
     * 物业费账单应收明细条目ID，在同一小区内必须唯一，不同小区不做唯一性要求。
     */
    private String bill_entry_id;

    /**
     * 物业系统端房屋编号，必须事先通过房屋信息上传接口上传到支付宝社区物业平台。
     */
    private String out_room_id;

    /**
     * 对应的房屋门牌地址。若开发者之前通过上传物业小区内部房屋信息接口中的address参数已上传，可不传。
     */
    private String room_address;

    /**
     * 费用类型名称，根据物业系统定义传入，支付宝除参数最大长度外不做限定。
     */
    private String cost_type;

    /**
     * 应收金额，单位为元，精确到小数点后两位，取值范围[0.01,100000000]
     */
    private String bill_entry_amount;

    /**
     * 明细条目所归属的账期，用于归类和向用户展示，具体参数值由物业系统自行定义，除参数最大长度外支付宝不做限定。
     */
    private String acct_period;

    /**
     * 出账日期，格式固定为YYYYMMDD。
     */
    private String release_day;

    /**
     * 缴费截止日期，格式固定为YYYYMMDD。不能早于调用接口时的当前实际日期（北京时间）和出账日期。
     */
    private String deadline;

    /**
     * 缴费明细条目关联ID。若物业系统业务约束上传的多条明细条目必须被一次同时支付，则对应的明细条目需传入同样的relate_id。
     */
    private String relate_id;

    /**
     * 缴费支付确认页显示给用户的提示确认信息，除房间名外的第二重校验信息，
     * 预防用户错缴。建议传入和缴费户相关的信息例如，可传入脱敏后的物业系统中的业主姓名，
     * 或其他相关信息。可选参数，不传则不展示。账单明细合并支付时，
     * 若部分账单明细的remark_str不同，则默认取第一条有remark_str值的账单明细进行展示。
     */
    private String remark_str;

    public Bill_set(String bill_entry_id, String out_room_id, String room_address, String cost_type,
                    String bill_entry_amount, String acct_period, String release_day, String deadline, String relate_id,
                    String remark_str) {
        super();
        this.bill_entry_id = bill_entry_id;
        this.out_room_id = out_room_id;
        this.room_address = room_address;
        this.cost_type = cost_type;
        this.bill_entry_amount = bill_entry_amount;
        this.acct_period = acct_period;
        this.release_day = release_day;
        this.deadline = deadline;
        this.relate_id = relate_id;
        this.remark_str = remark_str;
    }

    public Bill_set(String bill_entry_id, String out_room_id, String cost_type, String bill_entry_amount,
                    String acct_period, String release_day, String deadline) {
        super();
        this.bill_entry_id = bill_entry_id;
        this.out_room_id = out_room_id;
        this.cost_type = cost_type;
        this.bill_entry_amount = bill_entry_amount;
        this.acct_period = acct_period;
        this.release_day = release_day;
        this.deadline = deadline;
    }

    public Bill_set() {
        super();
    }

    public String getBill_entry_id() {
        return bill_entry_id;
    }

    public void setBill_entry_id(String bill_entry_id) {
        this.bill_entry_id = bill_entry_id;
    }

    public String getOut_room_id() {
        return out_room_id;
    }

    public void setOut_room_id(String out_room_id) {
        this.out_room_id = out_room_id;
    }

    public String getRoom_address() {
        return room_address;
    }

    public void setRoom_address(String room_address) {
        this.room_address = room_address;
    }

    public String getCost_type() {
        return cost_type;
    }

    public void setCost_type(String cost_type) {
        this.cost_type = cost_type;
    }

    public String getBill_entry_amount() {
        return bill_entry_amount;
    }

    public void setBill_entry_amount(String bill_entry_amount) {
        this.bill_entry_amount = bill_entry_amount;
    }

    public String getAcct_period() {
        return acct_period;
    }

    public void setAcct_period(String acct_period) {
        this.acct_period = acct_period;
    }

    public String getRelease_day() {
        return release_day;
    }

    public void setRelease_day(String release_day) {
        this.release_day = release_day;
    }

    public String getDeadline() {
        return deadline;
    }

    public void setDeadline(String deadline) {
        this.deadline = deadline;
    }

    public String getRelate_id() {
        return relate_id;
    }

    public void setRelate_id(String relate_id) {
        this.relate_id = relate_id;
    }

    public String getRemark_str() {
        return remark_str;
    }

    public void setRemark_str(String remark_str) {
        this.remark_str = remark_str;
    }

}
